let app = getApp();


Page({
  data: {
    isHidden: true, //是否显示弹出框
    names: ['test1', 'test2', 'test3', 'test22'],
    matchedNameList: [],   //通过filter方法对this.data.names数组进行过滤，筛选出与用户输入的关键字匹配的项，并将结果存储在matchedNameList中。
    isSearchListShow: true,   //显示接口数据
    selectedName: '',    //选择的仓库内容
    showMask: false, // 控制遮罩层显示与隐藏
    sousuoyvalue:"",   //在搜索框里输入的内容
    selectedItem: '', // 最后选中的item
  },
  onLoad() {},

  onShow(){
    var that = this;
    that.getWarehouse()

  },

  dianji(e){
    console.log("点击了");
    this.setData({
      isHidden: !this.data.isHidden,
      showMask: true
    })
  },


  dianji2(e){
    console.log("点击了2");
    this.setData({
      isHidden: !this.data.isHidden,
      showMask: false
    })
  },

  dianji3(e){
    console.log("点击了3");
    this.setData({
      isHidden: !this.data.isHidden,
      showMask: false
    })
  },


  // 下拉选择框
  bindNameFocus() {
    console.log("聚焦事件触发了");
    this.setData({ isSearchListShow: true });
  },
  bindNameChange(e) {
    var that = this
    console.log("点击下拉内容事件触发了");
    let name = e.currentTarget.dataset.item;
    this.setData({
       selectedName: name, 
       isSearchListShow: false 
      });

      console.log("最后选择的仓库内容===>",that.data.selectedName);

  },
  // 通过e.currentTarget.dataset.item获取了用户点击的下拉列表中的项的数据，
  // 然后将这个数据设置为selectedName，并将isSearchListShow设置为false。
  // 这通常用于更新界面状态，比如将用户选择的项展示在界面上，并关闭下拉列表。

  // 当用户在输入框中输入内容时，这个函数会被触发 输出事件对象e，这有助于调试和跟踪事件触发的情况
  bindNameInput2(e) {
    console.log("获取内容事件触发了",e);
    const keyword = e.detail.value.toLowerCase();   //通过e.detail.value获取用户在输入框中输入的值，并将其转换为小写字母格式（toLowerCase()）。
    console.log("keyword",keyword);
    const reg = new RegExp(keyword);   // 创建一个正则表达式reg，用于匹配用户输入的关键字。
    console.log("reg",reg);
    const matchedNameList = this.data.names.filter(item => reg.test(item.toLowerCase()));  //通过filter方法对this.data.names数组进行过滤，筛选出与用户输入的关键字匹配的项，并将结果存储在matchedNameList中。

    this.setData({ matchedNameList });     //使用setData方法将matchedNameList更新到页面数据中，以便在界面上展示匹配的结果，并打印出匹配的结果。
    console.log("matchedNameList",matchedNameList);

    var that = this
    // var value = e.detail.value; // 从函数参数中获取输入框的值
    // console.log("输入框的内容", value);
    that.setData({
      sousuoyvalue: keyword
    })
  },

    // 点击小叉号清空
    clrarsousuoy(){
      var that = this
      this.setData({
        sousuoyvalue: "",
      });
      console.log("clear==>",that.data.sousuoyvalue);
      if(that.data.sousuoyvalue==""){
        console.log("搜索框已被清空");
       }
    },
  

    // 仓库查询
    getWarehouse(e){
      var that = this;
      var data = JSON.stringify(
        {
          "xx": {
            "token": app.globaldata.user.token
          },
          "page": {
            "page_number": 1,
            "page_size": 20
          },
          "number": {
            "fnumber": "",    //仓库编码
            "fanme": ""      //名称
          }
        }
      )
      dd.httpRequest({
        url: 'http://openapi.keyboardadmin.com:10003/warehouse',
        method: 'POST',
        data: data,
        dataType: 'json',
        success: function (res) {
          if (res.data.code == 200) {
          console.log("仓库查询调用成功", res);
          // var str = res.data.data[1]['仓库名称']; //打印出来的字符串
          // var array = str.split("=>"); // 将字符串按照"=>"拆分为数组
          // console.log("array=============>", array); // 输出转换后的数组

          var namesArray = res.data.data.map(function(item) {
            return item['仓库名称'];
          });
          console.log("namesArray=============>", namesArray); 

          that.setData({
            names:namesArray,
          })
          // console.log("array=============>", that.data.array);
           
          } else {
            dd.showToast({
              type: 'fail',
              content: res.data.data,
              duration: 2000,
            });
          }
        },
        fail: function (res) {
          // dd.alert({ content: 'fail' });
          console.log("采购入库查询调用失败",res);
  
        },
        complete: function (res) {
          // console.log("采购入库查询调用complete",res);
  
          // dd.alert({ content: 'complete' });
          // my.hideLoading();
        }
      });
    },



});



